#pragma once
#include "Vector.h"

class CRay
{

private:
	CVector				*m_Origin;
	CVector				*m_Direction;

public:

	CVector*			GetOrigin() { return m_Origin; };
	void				SetOrigin(CVector _vec) { m_Origin = new CVector(_vec); };
	CVector*			GetDirection() { return m_Direction; };
	void				SetDirection(CVector _vec) { m_Direction = new CVector(_vec); };
	CVector				ParametricEquation(float);

	// Constructors & destructor
	CRay(void);
	CRay(CVector _orig):m_Origin(new CVector(_orig)), m_Direction(new CVector()) {};
	CRay(CVector _orig, CVector _dir):m_Origin(new CVector(_orig)), m_Direction(new CVector(_dir)) {};
	~CRay(void);
};

